package org.adobe.utils {
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	/**
	 * http://www.klstudio.com/post/134.html 
	 * 
	 */	
	public class Icon {
		public static const MAXIMIZE:String = "maximize";
		public static const MINIMIZE:String = "minimize";
		public static const DEOXIDIZE:String = "deoxidize";
		public static const CLOSE:String = "close";
		public static const RESIZE:String = "resize";
		public static const PREV:String = "prev";
		public static const NEXT:String = "next";
		public static const FIRST:String = "first";
		public static const END:String = "end";
		public static const MINIARROW:String = "miniArrow";
		public static const ARROW:String = "arrow";
		public static const CURSOR_STOP:String = "cursor_stop";
		public static const CURSOR_WHITE_ARROW:String = "cursor_white_arrow";
		public static const CURSOR_BLACK_ARROW:String = "cursor_black_arrow";
		public static const CURSOR_CUT:String = "cursor_cut";
		public static const CURSOR_PEN:String = "cursor_pen";
		public static const CURSOR_PAINT:String = "cursor_paint";
		public static const CURSOR_SCALE_SMALL:String = "cursor_scale_small";
		public static const CURSOR_SCALE_BIG:String = "cursor_scale_big";
		public static const CURSOR_HAND:String = "cursor_hand";
		public static const CURSOR_HAND_DOWN:String = "cursor_hand_down";
		public static const CURSOR_BOX_MOVE:String = "cursor_box_move";
		public static const CURSOR_CONTROL_MOVE:String = "cursor_control_move";
		public static const CURSOR_CONTROL_POSITIVE:String = "cursor_control_positive";
		public static const CURSOR_CONTROL_OBLIQUE:String = "cursor_control_oblique";
		
		public function Icon(){
		}
		
		//图标数据都是按照一定的算法存储起来
		public static function getIcon(name:String):Bitmap{
			var data:Array;
			switch(name){
				case MAXIMIZE:
					data = [
						4,9,9,0x0,
						1,1,1,1,1,1,1,1,1,
						1,1,1,1,1,1,1,1,1,
						1,0,0,0,0,0,0,0,1,
						1,0,0,0,0,0,0,0,1,
						1,0,0,0,0,0,0,0,1,
						1,0,0,0,0,0,0,0,1,
						1,0,0,0,0,0,0,0,1,
						1,0,0,0,0,0,0,0,1,
						1,1,1,1,1,1,1,1,1                                                        
					];
					break;
				case MINIMIZE:
					data = [
						4,6,2,0x0,
						1,1,1,1,1,1,
						1,1,1,1,1,1
					];
					break;
				case DEOXIDIZE:
					data = [
						4,8,9,0x0,
						0,0,1,1,1,1,1,1,
						0,0,1,1,1,1,1,1,
						0,0,1,0,0,0,0,1,
						1,1,1,1,1,1,0,1,
						1,1,1,1,1,1,0,1,
						1,0,0,0,0,1,1,1,
						1,0,0,0,0,1,0,0,
						1,0,0,0,0,1,0,0,
						1,1,1,1,1,1,0,0        
					];
					break;
				case RESIZE:
					data = [
						5,12,12,0xFFFFFF,0x808080,
						0,0,0,0,0,0,0,0,0,0,0,1,
						0,0,0,0,0,0,0,0,0,0,1,2,
						0,0,0,0,0,0,0,0,0,1,2,2,
						0,0,0,0,0,0,0,0,1,2,2,0,
						0,0,0,0,0,0,0,1,2,2,0,1,
						0,0,0,0,0,0,1,2,2,0,1,2,
						0,0,0,0,0,1,2,2,0,1,2,2,
						0,0,0,0,1,2,2,0,1,2,2,0,
						0,0,0,1,2,2,0,1,2,2,0,1,
						0,0,1,2,2,0,1,2,2,0,1,2,
						0,1,2,2,0,1,2,2,0,1,2,2,
						1,2,2,0,1,2,2,0,1,2,2,0
					];
					break;
				case PREV:
					data = [
						4,8,8,0x0,
						0,0,0,1,0,0,0,1,
						0,0,1,1,0,0,1,1,
						0,1,1,0,0,1,1,0,
						1,1,0,0,1,1,0,0,
						1,1,0,0,1,1,0,0,
						0,1,1,0,0,1,1,0,
						0,0,1,1,0,0,1,1,
						0,0,0,1,0,0,0,1
					];
					break;
				case NEXT:
					data = [
						4,8,8,0x0,
						1,0,0,0,1,0,0,0,
						1,1,0,0,1,1,0,0,
						0,1,1,0,0,1,1,0,
						0,0,1,1,0,0,1,1,
						0,0,1,1,0,0,1,1,
						0,1,1,0,0,1,1,0,
						1,1,0,0,1,1,0,0,
						1,0,0,0,1,0,0,0
					];
					break;
				case FIRST:
					data = [
						4,5,8,0x0,
						1,0,0,0,1,
						1,0,0,1,1,
						1,0,1,1,0,
						1,1,1,0,0,
						1,1,1,0,0,
						1,0,1,1,0,
						1,0,0,1,1,
						1,0,0,0,1
					];
					break;
				case END:
					data = [
						4,5,8,0x0,
						1,0,0,0,1,
						1,1,0,0,1,
						0,1,1,0,1,
						0,0,1,1,1,
						0,0,1,1,1,
						0,1,1,0,1,
						1,1,0,0,1,
						1,0,0,0,1
					];
					break;
				case MINIARROW:
					data = [
						4,5,3,0x0,
						1,1,1,1,1,
						0,1,1,1,0,
						0,0,1,0,0
					];
					break;
				case ARROW:
					data = [
						4,7,4,0x0,
						1,1,1,1,1,1,1,
						0,1,1,1,1,1,0,
						0,0,1,1,1,0,0,
						0,0,0,1,0,0,0
					];
					break;
				case CURSOR_STOP:
					data = [
						5,14,14,0x0,0xFFFFFF,
						0,0,0,0,1,1,1,1,1,1,0,0,0,0,
						0,0,1,1,1,1,1,1,1,1,1,1,0,0,
						0,1,1,1,1,2,2,2,2,1,1,1,1,0,
						0,1,1,2,2,2,2,2,2,1,1,1,1,0,
						1,1,1,2,2,2,2,2,1,1,1,1,1,1,
						1,1,2,2,2,2,2,1,1,1,2,2,1,1,
						1,1,2,2,2,2,1,1,1,2,2,2,1,1,
						1,1,2,2,2,1,1,1,2,2,2,2,1,1,
						1,1,2,2,1,1,1,2,2,2,2,2,1,1,
						1,1,1,1,1,1,2,2,2,2,2,1,1,1,
						0,1,1,1,1,2,2,2,2,2,2,1,1,0,
						0,1,1,1,1,2,2,2,2,1,1,1,1,0,
						0,0,1,1,1,1,1,1,1,1,1,1,0,0,
						0,0,0,0,1,1,1,1,1,1,0,0,0,0
					];
					break;
				case CURSOR_BLACK_ARROW:
					data = [
						5,10,16,0xFFFFFF,0x0,
						1,1,0,0,0,0,0,0,0,0,
						1,2,1,0,0,0,0,0,0,0,
						1,2,2,1,0,0,0,0,0,0,
						1,2,2,2,1,0,0,0,0,0,
						1,2,2,2,2,1,0,0,0,0,
						1,2,2,2,2,2,1,0,0,0,
						1,2,2,2,2,2,2,1,0,0,
						1,2,2,2,2,2,2,2,1,0,
						1,2,2,2,2,2,2,2,2,1,
						1,2,2,2,2,2,1,1,1,1,
						1,2,2,1,2,2,1,0,0,0,
						1,2,1,0,1,2,2,1,0,0,
						1,1,0,0,1,2,2,1,0,0,
						0,0,0,0,0,1,2,2,1,0,
						0,0,0,0,0,1,2,2,1,0,
						0,0,0,0,0,0,1,1,0,0
					];
					break;
				case CURSOR_WHITE_ARROW:
					data = [
						5,10,16,0xFFFFFF,0x0,
						1,1,0,0,0,0,0,0,0,0,
						1,2,1,0,0,0,0,0,0,0,
						1,2,2,1,0,0,0,0,0,0,
						1,2,1,2,1,0,0,0,0,0,
						1,2,1,1,2,1,0,0,0,0,
						1,2,1,1,1,2,1,0,0,0,
						1,2,1,1,1,1,2,1,0,0,
						1,2,1,1,1,1,1,2,1,0,
						1,2,1,1,1,2,2,2,2,1,
						1,2,1,2,2,2,1,1,1,1,
						1,2,2,1,2,2,1,0,0,0,
						1,2,1,0,1,2,2,1,0,0,
						1,1,0,0,1,2,2,1,0,0,
						0,0,0,0,0,1,2,2,1,0,
						0,0,0,0,0,1,2,2,1,0,
						0,0,0,0,0,0,1,1,0,0
					];
					break;
				case CURSOR_CUT:
					data = [
						6,16,16,0x000000,0xFFFFFF,0x373737,
						1,2,0,0,0,0,0,0,0,0,2,1,2,0,0,0,
						2,1,2,0,0,0,0,0,0,0,2,1,2,0,0,0,
						0,2,1,2,2,2,2,2,2,2,2,1,2,2,2,2,
						0,0,2,1,1,1,1,1,1,1,2,1,1,1,1,1,
						0,0,2,1,1,1,1,1,1,1,2,1,1,1,1,1,
						0,0,2,1,1,3,2,2,2,2,2,1,1,2,2,2,
						0,0,2,1,1,2,3,0,0,2,2,1,1,2,0,0,
						0,0,2,1,1,2,0,3,0,2,2,1,1,2,0,0,
						0,0,2,1,1,2,0,0,3,2,2,1,1,2,0,0,
						0,0,2,1,1,2,2,2,2,3,2,1,1,2,0,0,
						2,2,2,2,2,2,2,2,2,2,2,1,1,2,0,0,
						1,1,1,1,1,1,1,1,1,1,1,1,1,2,0,0,
						2,2,2,1,1,1,1,1,1,1,1,1,1,2,0,0,
						0,0,2,1,1,2,2,2,2,2,2,2,2,2,0,0,
						0,0,2,1,1,2,0,0,0,0,0,0,0,0,0,0,
						0,0,2,1,1,2,0,0,0,0,0,0,0,0,0,0
					];
					break;
				case CURSOR_PEN:
					data = [
						5,16,16,0x000000,0xFFFFFF,
						0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,0,
						0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,2,
						0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,
						0,0,0,0,0,0,0,0,2,2,1,1,1,1,1,1,
						0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,
						0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,0,
						0,0,0,0,0,0,0,2,1,1,1,1,1,1,0,0,
						0,0,0,0,0,0,2,1,2,1,1,1,1,0,0,0,
						0,0,0,0,0,2,1,2,2,2,1,1,1,0,0,0,
						0,0,0,0,2,1,2,2,2,1,0,0,0,0,0,0,
						0,0,0,2,1,2,2,2,1,0,0,0,0,0,0,0,
						0,0,2,1,2,2,2,1,0,0,0,0,0,0,0,0,
						0,2,1,2,2,2,1,0,0,0,0,0,0,0,0,0,
						0,2,1,2,2,1,0,0,0,0,0,0,0,0,0,0,
						2,1,2,1,1,0,0,0,0,0,0,0,0,0,0,0,
						2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0
					];
					break;
				case CURSOR_PAINT:
					data = [
						5,16,16,0x000000,0xFFFFFF,
						0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,
						0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,
						0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,
						0,0,0,0,0,1,2,2,1,2,1,0,0,0,0,0,
						0,0,0,0,1,2,2,2,1,2,2,1,1,1,0,0,
						0,0,0,1,2,2,2,2,1,2,2,2,1,1,1,0,
						0,0,1,2,2,2,2,1,2,1,2,2,2,1,1,1,
						0,1,2,2,2,2,2,2,1,2,2,2,2,1,1,1,
						1,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,
						1,2,2,2,2,2,2,2,2,2,2,1,0,1,1,1,
						0,1,2,2,2,2,2,2,2,2,1,0,0,1,1,1,
						0,0,1,2,2,2,2,2,2,1,0,0,0,1,1,1,
						0,0,0,1,2,2,2,2,1,0,0,0,0,1,1,1,
						0,0,0,0,1,2,2,1,0,0,0,0,0,1,1,0,
						0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,
						0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0
					];
					break;
				case CURSOR_SCALE_BIG:
					data = [
						5,16,16,0x000000,0xFFFFFF,
						0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,
						0,0,1,1,2,2,2,2,1,1,0,0,0,0,0,0,
						0,1,2,2,2,2,2,2,2,2,1,0,0,0,0,0,
						0,1,2,2,2,1,1,2,2,2,1,0,0,0,0,0,
						1,2,2,2,2,1,1,2,2,2,2,1,0,0,0,0,
						1,2,2,1,1,1,1,1,1,2,2,1,0,0,0,0,
						1,2,2,1,1,1,1,1,1,2,2,1,0,0,0,0,
						1,2,2,2,2,1,1,2,2,2,2,1,0,0,0,0,
						0,1,2,2,2,1,1,2,2,2,1,0,0,0,0,0,
						0,1,2,2,2,2,2,2,2,2,1,0,0,0,0,0,
						0,0,1,1,2,2,2,2,1,1,1,1,0,0,0,0,
						0,0,0,0,1,1,1,1,0,0,1,1,1,0,0,0,
						0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,
						0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,
						0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,
						0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0
					];
					break;
				case CURSOR_SCALE_SMALL:
					data = [
						5,16,16,0x000000,0xFFFFFF,
						0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,
						0,0,1,1,2,2,2,2,1,1,0,0,0,0,0,0,
						0,1,2,2,2,2,2,2,2,2,1,0,0,0,0,0,
						0,1,2,2,2,2,2,2,2,2,1,0,0,0,0,0,
						1,2,2,2,2,2,2,2,2,2,2,1,0,0,0,0,
						1,2,2,1,1,1,1,1,1,2,2,1,0,0,0,0,
						1,2,2,1,1,1,1,1,1,2,2,1,0,0,0,0,
						1,2,2,2,2,2,2,2,2,2,2,1,0,0,0,0,
						0,1,2,2,2,2,2,2,2,2,1,0,0,0,0,0,
						0,1,2,2,2,2,2,2,2,2,1,0,0,0,0,0,
						0,0,1,1,2,2,2,2,1,1,1,1,0,0,0,0,
						0,0,0,0,1,1,1,1,0,0,1,1,1,0,0,0,
						0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,
						0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,
						0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,
						0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0
					];
					break;
				case CURSOR_HAND:
					data = [
						5,16,16,0x000000,0xFFFFFF,
						0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
						0,0,0,1,1,0,1,2,2,1,1,1,0,0,0,0,
						0,0,1,2,2,1,1,2,2,1,2,2,1,0,0,0,
						0,0,1,2,2,1,1,2,2,1,2,2,1,0,1,0,
						0,0,0,1,2,2,1,2,2,1,2,2,1,1,2,1,
						0,0,0,1,2,2,1,2,2,1,2,2,1,2,2,1,
						0,1,1,0,1,2,2,2,2,2,2,2,1,2,2,1,
						1,2,2,1,1,2,2,2,2,2,2,2,2,2,2,1,
						1,2,2,2,1,2,2,2,2,2,2,2,2,2,1,0,
						0,1,2,2,2,2,2,2,2,2,2,2,2,2,1,0,
						0,0,1,2,2,2,2,2,2,2,2,2,2,2,1,0,
						0,0,1,2,2,2,2,2,2,2,2,2,2,1,0,0,
						0,0,0,1,2,2,2,2,2,2,2,2,2,1,0,0,
						0,0,0,0,1,2,2,2,2,2,2,2,1,0,0,0,
						0,0,0,0,0,1,2,2,2,2,2,2,1,0,0,0,
						0,0,0,0,0,1,2,2,2,2,2,2,1,0,0,0
					];
					break;
				case CURSOR_HAND_DOWN:
					data = [
						5,13,11,0x000000,0xFFFFFF,
						0,0,1,1,0,1,1,0,1,1,0,0,0,
						0,1,2,2,1,2,2,1,2,2,1,1,0,
						0,1,2,2,2,2,2,2,2,2,1,2,1,
						0,0,1,2,2,2,2,2,2,2,2,2,1,
						0,1,1,2,2,2,2,2,2,2,2,2,1,
						1,2,2,2,2,2,2,2,2,2,2,2,1,
						1,2,2,2,2,2,2,2,2,2,2,1,0,
						0,1,2,2,2,2,2,2,2,2,2,1,0,
						0,0,1,2,2,2,2,2,2,2,1,0,0,
						0,0,0,1,2,2,2,2,2,2,1,0,0,
						0,0,0,1,2,2,2,2,2,2,1,0,0
					];
					break;
				case CURSOR_BOX_MOVE:
					data = [
						5,15,16,0x000000,0xFFFFFF,
						0,0,0,0,0,0,2,1,2,0,0,0,0,0,0,
						0,0,0,0,0,2,1,1,1,2,0,0,0,0,0,
						0,0,0,0,2,1,1,1,1,1,2,0,0,0,0,
						0,0,0,2,2,2,2,1,2,2,2,2,0,0,0,
						0,0,0,0,0,0,2,1,2,0,0,0,0,0,0,
						0,2,2,2,2,2,2,1,2,2,2,2,2,2,0,
						2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,
						0,2,2,2,2,2,2,2,2,2,2,2,2,2,0,
						0,2,2,2,2,2,2,2,2,2,2,2,2,2,0,
						2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,
						0,2,2,2,2,2,2,1,2,2,2,2,2,2,0,
						0,0,0,0,0,0,2,1,2,0,0,0,0,0,0,
						0,0,0,2,2,2,2,1,2,2,2,2,0,0,0,
						0,0,0,0,2,1,1,1,1,1,2,0,0,0,0,
						0,0,0,0,0,2,1,1,1,2,0,0,0,0,0,
						0,0,0,0,0,0,2,1,2,0,0,0,0,0,0
					];
					break;
				case CURSOR_CONTROL_MOVE:
					data = [
						5,15,15,0x000000,0xFFFFFF,
						0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,
						0,0,0,0,0,0,2,1,2,0,0,0,0,0,0,
						0,0,0,0,0,2,1,1,1,2,0,0,0,0,0,
						0,0,0,0,2,1,1,1,1,1,2,0,0,0,0,
						0,0,0,2,2,2,2,1,2,2,2,2,0,0,0,
						0,0,2,1,2,2,2,1,2,2,2,1,2,0,0,
						0,2,1,1,2,2,2,1,2,2,2,1,1,2,0,
						2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,
						0,2,1,1,2,2,2,1,2,2,2,1,1,2,0,
						0,0,2,1,2,2,2,1,2,2,2,1,2,0,0,
						0,0,0,2,2,2,2,1,2,2,2,2,0,0,0,
						0,0,0,0,2,1,1,1,1,1,2,0,0,0,0,
						0,0,0,0,0,2,1,1,1,2,0,0,0,0,0,
						0,0,0,0,0,0,2,1,2,0,0,0,0,0,0,
						0,0,0,0,0,0,0,2,0,0,0,0,0,0,0
					];
					break;
				case CURSOR_CONTROL_POSITIVE:
					data = [
						5,15,7,0x000000,0xFFFFFF,
						0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,
						0,0,2,1,2,0,0,0,0,0,2,1,2,0,0,
						0,2,1,1,2,2,2,2,2,2,2,1,1,2,0,
						2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,
						0,2,1,1,2,2,2,2,2,2,2,1,1,2,0,
						0,0,2,1,2,0,0,0,0,0,2,1,2,0,0,
						0,0,0,2,0,0,0,0,0,0,0,2,0,0,0
					];
					break;
				case CURSOR_CONTROL_OBLIQUE:
					data = [
						5,13,13,0x000000,0xFFFFFF,
						2,2,2,2,2,2,2,0,0,0,0,0,0,
						2,1,1,1,1,1,2,0,0,0,0,0,0,
						2,1,1,1,1,2,0,0,0,0,0,0,0,
						2,1,1,1,2,0,0,0,0,0,0,0,0,
						2,1,1,2,1,2,0,0,0,0,0,0,0,
						2,1,2,0,2,1,2,0,0,0,0,0,0,
						2,2,0,0,0,2,1,2,0,0,0,2,2,
						0,0,0,0,0,0,2,1,2,0,2,1,2,
						0,0,0,0,0,0,0,2,1,2,1,1,2,
						0,0,0,0,0,0,0,0,2,1,1,1,2,
						0,0,0,0,0,0,0,2,1,1,1,1,2,
						0,0,0,0,0,0,2,1,1,1,1,1,2,
						0,0,0,0,0,0,2,2,2,2,2,2,2
					];
					break;
				case CLOSE:
				default:
					data = [
						4,8,7,0x0,
						1,1,0,0,0,0,1,1,
						0,1,1,0,0,1,1,0,
						0,0,1,1,1,1,0,0,
						0,0,0,1,1,0,0,0,
						0,0,1,1,1,1,0,0,
						0,1,1,0,0,1,1,0,
						1,1,0,0,0,0,1,1
					];
					break;
			}                        
			return drawIconByArray(data);
		}
		/**
		var arr:Array = [4,3,3,0x000000,1,1,1,1,0,1,1,1,1] ;
		arr[0]：为元数据（类似于文件头）的长度；
		arr[1]：为图标的宽度；
		arr[2]：为图标的高度；
		arr[3]：为图标颜色值；颜色值部分可以为多个，但元数据的长度要相应的增加。
		arr[4]~：从此数据以后为要显示图标数据矩阵。
			0表示此点阵无颜色（就是透明） ，1表示第一个颜色值的序号（可叫做颜色索引值）
		如果颜色值很多的话，序号则相应递增
		*/
		public static function drawIconByArray(arr:Array):Bitmap {
			var id:uint = arr[0];
			var w:uint = arr[1];
			var h:uint = arr[2];
			
			if (arr.length < 5){
				throw new Error("数据长度无效!");
			}
			if (id < 4){
				throw new Error("元数据长度无效!");
			}
			if (w < 1 || h < 1){
				throw new Error("图片宽度或高度无效!");
			}
			if (arr.length - id != w * h){
				throw new Error("图片数据矩阵验证无效!");
			}
			var clr:Array = new Array();
			for (var i:uint = 3; i < id; i++){ //4
				clr.push(arr[i]); //第三位颜色值
			}
			try {
				var bmd:BitmapData = new BitmapData(w, h, true, 0x0);
				//setPixel(j, i, bytes.readUnsignedInt());
				
				for (var y:uint = 0; y < h; y++){
					for (var x:uint = 0; x < w; x++){
						if (arr[id] > 0){ //arr[4] 颜色值是否有
							bmd.setPixel32(x, y, (0xFF000000 | clr[arr[id] - 1]));//二进制或运算
						}
						id++;
					}
				}
			} catch (error:Error){
				throw new Error("图片生成失败!");
			}
			return new Bitmap(bmd);
		}
		
		public static function drawIconByString(datas:String):Bitmap {
			var arr:Array = datas.split(",");
			arr.forEach(function(element:*, index:int, arr:Array):void{
				element = uint(element);
			});
			return drawIconByArray(arr);
		}
	}
}